terminal 终端

📌 大纲

📝 主题描述

终端的世界就像是图形化界面这样的三维系统被压扁成一个二维空间的系统。
没有图形化界面的更加直观的交互性。一切都由字符的输入、输出来交互。

但无论是哪种系统,都需要各种工具来帮助我们更加方便,直观的使用它。
而终端依靠的就是各种工具包,和与其相关的配置文件。

并且大家会将这些配置文件放到统一的文件夹中,该文件夹可以被称为 config、也可以被称为 dotfiles,因为配置文件常常以 . 开头。

🗂️ 目标

🎯 目标和任务分解

了解自己

于是我们的目标就非常的明确了。

用户类型 主要用途 技能水平 常用命令或工具 操作系统偏好
常规用户 办公、学习、娱乐 初学者 ls, cd, mkdir Windows/MacOS
系统管理员 系统维护和管理 高级 ssh, ps, top, systemctl Linux/Unix
开发人员 Dev 软件开发 中级到高级 git, vim, gcc, make MacOS/Linux/Unix
运维工程师 Ops 系统运行和维护 高级 ansible, docker, kubernetes Linux/Unix
数据科学家 数据分析和处理 中级到高级 python, R, jupyter 多平台
网络工程师 网络配置和故障排除 高级 ip, netstat, ping, traceroute 多平台
安全专家 安全测试和入侵检测 高级 nmap, wireshark, metasploit 多平台
媒体/艺术工作者 媒体文件处理 中级 ffmpeg, convert MacOS/Linux

根据自己的需求,来决定下面的目标。
其实我觉得只有主力机器的主力系统需要复杂的配置文件。多机器的不同配置的应用需求其实并不多。
但是macos用终端来做管理这个功能真挺不错。

管理软件 brew、apt 等

管理配置文件 yadm、stow 等

高频使用终端工具的熟练掌握

🧠 思考的维度

终端发展中的关键点:

易用度、速度、功能性,呈现不可能三角。而AI 和硬件的发展,可能是解决的变量。

新时代的终端解决思路,从终端模拟器开始。以 warp 为代表,在保证传统的 GPU 加速、Rust 语言保证了其执行效率和安全性以外,还有如下特性:

新的方式,对不熟练或不深度使用终端的用户更加的友好。我们不需要配置海量的复杂的配置文件了。且使用起来各种提醒、交互也不需要我们记得海量的命令了。

那我们这里就对最新的 warp 的环境下,如何使用 terminal 终端 吧。

🎉 总结

📖 参考文献

正文

基础

shell, cli, 终端模拟器的区别:

组件 描述 功能
Shell 解释和执行用户命令的程序 运行在终端模拟器中,解释用户命令,与操作系统交互,
执行任务,是CLI的直接承载工具,也是用户
CLI (命令行界面) 用户通过文本命令与计算机程序
或操作系统交互的接口
提供一个环境,用户可以输入命令以执行操作,
通常在Shell中实现。常见:bash、zsh、fish
终端模拟器 软件程序,模拟传统的硬件终端 在图形用户界面系统中提供一个窗口,
允许用户启动和使用Shell,从而使用CLI

Command Line Interface 命令行界面 CLI

常用的有:bash, zsh

cli tools for warp

terminal emulator 终端模拟器

warp

alacritty

package manager包管理器

brew、apt、npm

使用 brew 来管理 macos 的包

重要的 App

neovim